The present invention relates to data processing, particularly to peripheral subsystems and the supervisory control of same as to logical configuration control, integrity of a subsystem, and data transfer supervision.
Communication between a data processor, often referred to as a host or central processing unit (CPU), and its peripheral subsystems is conducted via so-called input-output channels. The general configuration of such connections and operation is fully explained in U.S. Pat. No. 3,400,371. Included in U.S. Pat. No. 3,400,371, FIG. 41 and FIG. 50, is a showing of the input/output channel connections between a CPU and its attached peripheral subsystem. Control of a peripheral subsystem by the host or CPU is by the use of channel command words (CCWs) (which are shown in FIG. 29 of that patent). A series of CCW's within a host for a so-called channel program appears as a series of channel commands received by the peripheral subsystem. Such a series of commands is called a chain, which is indicated by a SUPPRESS-OUT signal applied by the host to the peripheral subsystem at the time STATUS-IN is supplied to the host from the peripheral subsystem. Such chaining identifies a unique series of commands related to a particular process or process portion of the host. During such chaining the peripheral subsystem or the host will normally not abort operations of the series of commands; either of course can break the chain upon certain predetermined conditions beyond the scope of the present description.
Each series of commands, hereinafter referred to as a "chain", has a close operational relationship. Different chains can perform different functions or series of functions between the host and the peripheral subsystem. The interaction between the host and peripheral subsystem in different chains can vary greatly. Such differences are instituted by the host sending a MODESET or SET FILE MASK as the first channel command related to a first CCW in a chain of such commands. Such MODESET or MODE CONTROL is currently limited to be the first command in a chain of commands. If there is any other significant change in operation, then the host constructs a new chain of CCW's to issue a second chain of corresponding channel commands. Typically a SET FILE MASK command is used with direct access storage devices (DASD) for indicating access restrictions in the chain of commands to the storage that is addressable via the input/output channel. Other types of peripheral subsystems, such as magnetic tape recorders, employ MODE SET commands wherein the format of the signal to be recorded on the tape is specified in the first command of the chain, the mode of operation, whether it be write or read forward, as well as other operational characteristics.
Such MODE SET and SET FILE MASK commands are referred, as supervisory type commands in that, if a so-called nonprivileged user were to program such commands, overall data processing integrity in a given installation could be jeopardized. Accordingly, the restriction of a single supervisory command in a single chain has been used.
Examples of additional supervisory commands are found in U.S. Pat. No. 4,207,609. Such supervisory commands establish a multipathing control by establishing path groups, i.e., groups of input/output channels (paths). For example, establishing or altering such path groups is provided by a channel command move space called SHID; and additionally, sensing the logical configuration of such multipathed controls is provided by a sense command called SNID. Devices of a peripheral subsystem can be reversed and released to and from a channel path and to and from a host whether a single path (channel) is used or a path group is used. A device reserve (RESV) command and a device release (DREL) are supervisory commands employed for ensuring that a host has access to devices on an exclusive basis for a predetermined short period of time. Additionally, each peripheral subsystem usually has so-called buffered log, where unusual conditions, such as temporary errors and the like, are logged. When the capacity of the control unit buffered log is filled, interruption signals are supplied to the host. The host then supplies a read buffered log (RBLG) channel command to transfer the signal contents of such buffered log from the control unit to the host for analysis or additional logging. Such removal of error data can have an adverse effect on error recovery procedures, accordingly the read buffered log RBLG command is considered a supervisory command.
Typically a series of chains is required to effect one or more data processing operations that require interactions of the peripheral subsystem with the host. For example, a SNID supervisory command can appear in a first-occurring chain of commands. After that chain has set up the multipathing status of peripheral subsystem as set forth in U.S. Pat. No. 4,207,609, then a subsequent chain can start with a SET FILE MASK channel compound followed by the usual data processing commands, such as write, read and so forth. As peripheral subsystem complexities increase, the number of chains required to effect a data processing operation likewise increases. Also the purpose of limiting supervisory commands to be the first command in a chain for integrity checking and limiting error propagation becomes more important. That is, if a supervisory command occurred in the middle of a chain, and there was an error in that command, that error could be propagated and probably not be detected until sometime later. For this reason, close control of such supervisory commands is essential.
To handle supervisory commands in a series of chains requires substantial data processing operations in the host, i.e., each chain has to be started independently in a series of chains. This type of action also permits an intervening chain to use the peripheral subsystem to create a subsystem integrity exposure as to a desired data processing operation.
Accordingly, it is desired to enhance supervisory control of a host over a peripheral subsystem.